ASIGNACIÓN DE MEMORIA
La gestión de la
memoria virtual para un sistema operativo multiprogramado debe
determinar entre qué páginas se aplica el algoritmo de
reemplazo. Hay dos políticas alternativas:
Asignación global: Las referencias generadas por todos los programas se consideran como una secuencia de referencias única, de forma que un fallo de página producido por un programa puede provocar que salga de memoria una página de otro programa (esta será la elección más probable para la mayor parte de los algoritmos de reemplazo, ya que las páginas del proceso en ejecución son precisamente las más recientemente referenciadas).
Asignación local: El algoritmo de reemplazo se aplica exclusivamente entre las páginas del proceso. Hay que establecer los criterios para el reparto de los marcos de página entre los procesos. Fundamentalmente hay dos posibilidades:
Igual número de marcos para cada proceso. Si hay M marcos de página y N programas, cada programa dispone de M/N marcos de página. Este criterio penaliza excesivamente a los programas de gran tamaño.
Asignación proporcional. Si un proceso i ocupa si páginas, definiendo S= Ssi como la suma del tamaño de los N procesos (S>M), la asignación de páginas para el proceso i, ai, será: ai = (si /S ) M Este criterio se puede combinar con la prioridad del proceso.
Las alternativas descritas son extremos entre los que caben soluciones intermedias. Por ejemplo, la asignación global se puede suavizar introduciendo límites (máximos y mínimos) en el número de marcos de página que tiene asignado cada proceso.